<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>Volunteers</title>
    <link rel="stylesheet" type="text/css" href="css/common.css" />
    <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="css/_print.css" media="print" />
  </head>
  <body>
	<script type="text/javascript">prefix='';</script>

  <script src="templates/header.js" type="text/javascript"></script>
  <div id="left">
    <noscript>Please turn on Javascript to view this menu</noscript>
    <script src="templates/left.js" type="text/javascript"></script>
  </div>
  <div id="right">
      <script src="templates/right.js" type="text/javascript"></script>
  </div>

  
  <div id="content">
  
    <h2>Call for volunteers</h2>

    <p>We are looking for volunteers in the following areas.</p>

    <ol>
      <li><span class="label">top priority</span> <b>logback in 10 minutes</b> 
      
      <p>We are looking for a volunteer, preferably a native English
      speaker, to write a short document describing logback for
      beginners, entitled say "logback in 10 minutes". This document
      is likely to be the most widely read document of the
      project. Writing such a document is an excellent opportunity to
      learn logback. Obviously, there would be plenty of editorial
      help and guidance coming from the logback developers.
      </p>
      </li>

      <li><span class="label">high priority</span> <b>Proof reading the documentation</b>
      <p>We are always looking for volunteers to proof-read the
      documentation. Suggestions as to the design and look-and-feel of
      the site are also welcome.</p>
      </li>

      <li><span class="label">medium priority</span> <b>Decoder:
      parse log files and transform them into logging events</b>
      
      <p>This effort has been started under the <a
      href="https://github.com/qos-ch/logback-decoder">logback-decoder</a>
      project but has stalled. This problem is technically
      interesting, has a well-defined scope and mostly independent of
      the logback framework.
      </p>
      
      </li>

      <li><span class="label">medium priority</span> <b>Maintain the
      groovy configurator</b>

      <p>The Groovy configurator, aka Gaffer, although pretty cool, is
      not getting the attention it deserves. The amount of code
      involved, although not completely trivial, is far from
      insurmountable. We are looking for a volunteer to take over
      Gaffer.
       </p>
      </li>

      <li><b>Improve OSGi support</b>
      
      <p>We are looking for an OSGi expert to review our current
      practices and improve OSGi support in logback.  </p></li>
      
      <li><b>Fixing bugs</b>

      <p>We are looking for volunteers for fixing logback
      bugs. Volunteering to solve bugs is a good way to learn about
      any project.
      </p> 

      <p>For those looking for highly technical challenges with
      limited scope, have a look at various build failures observable
      on <a href="http://logback.qos.ch/jenkins/">our Jenkins
      instance</a>.
      </p>

      <p>Our build is quite stable but failures occur from time to
      time on our Jenkins instance hosted on a relatively old
      computer.</p>

      <ul>

        <li><a
        href="http://logback.qos.ch/jenkins/job/logback/149/">build
        #149</a> with test failure in <a
        href="http://logback.qos.ch/jenkins/job/logback/ch.qos.logback$logback-classic/149/testReport/junit/ch.qos.logback.classic.joran/JoranConfiguratorTest/levelChangePropagator1/">JoranConfiguratorTest.levelChangePropagator1</a>
        probable cause: parallel execution, j.u.l. shared-state
        overridden by levelChangePropagator0 while levelChangePropagator1 is running
        </li>

        <li><a
        href="http://logback.qos.ch/jenkins/job/logback/298/">build
        #298</a> with test failure in <a
        href="http://logback.qos.ch/jenkins/job/logback/ch.qos.logback$logback-core/298/testReport/junit/ch.qos.logback.core/AsyncAppenderBaseTest/workerShouldStopEvenIfInterruptExceptionConsumedWithinSubappender/">AsyncAppenderBaseTest</a>
        probable cause: race condition
        </li>


        <li><a
        href="http://logback.qos.ch/jenkins/job/logback/91/">build
        #91</a> with test failure in <a
        href="http://logback.qos.ch/jenkins/job/logback/ch.qos.logback$logback-classic/91/testReport/junit/ch.qos.logback.classic.net/SMTPAppender_GreenTest/testMultipleTo/">SMTPAppender_GreenTest</a>
        probable cause: race condition, GreenMail server not running
        at time of message transmission</li>


      </ul>

      <p>These build failures are quite hard to reproduce. If you
      intend to work on these problems, you will probably first need
      to make changes to logback code so that the problem becomes
      easily reproducible. One the problem is identified and
      reproducible, solving it should be much easier.
      </p>

    <h3>Setting up the project</h3>
    
    <p>If you wish to contribute to the project or just hack for fun,
    you will probably want to import logback as a project into your
    favorite IDE. See the instructions for <a
    href="setup.html#ide">building logback in Eclipse or IntelliJ
    IDEA</a> for details.</p>

    <script src="templates/footer.js" type="text/javascript"></script>
  </div>
  </body>
</html>